import os
import logging
import const

logger = logging.getLogger("weibo")

def send_email_notification(message):
    """
    使用resend发送邮件通知
    
    Args:
        message (str): 要发送的通知消息
    """
    if not const.NOTIFY.get("NOTIFY", False):
        return
    
    try:
        import resend
    except ImportError:
        logger.warning("系统中可能没有安装resend库，请先运行 pip install resend ，再启用邮件通知功能")
        return
    
    # 获取API密钥，优先使用环境变量
    api_key = os.environ.get("RESEND_API_KEY") or const.NOTIFY.get("API_KEY", "")
    if not api_key:
        logger.warning("未配置resend API密钥，请在环境变量RESEND_API_KEY或const.py中设置API_KEY")
        return
    
    # 获取邮件地址配置
    from_email = const.NOTIFY.get("FROM_EMAIL", "")
    to_email = const.NOTIFY.get("TO_EMAIL", "")
    
    if not from_email or not to_email:
        logger.warning("未配置发送方或接收方邮箱地址，请在const.py中设置FROM_EMAIL和TO_EMAIL")
        return
    
    try:
        # 设置API密钥
        resend.api_key = api_key
        
        # 构建邮件参数
        params = {
            "from": from_email,
            "to": [to_email],
            "subject": "微博爬虫通知",
            "html": f"<p>{message}</p>",
            "text": message,
        }
        
        # 发送邮件
        email = resend.Emails.send(params)
        logger.info(f"邮件通知发送成功，邮件ID: {email.get('id', 'unknown')}")
        
    except Exception as e:
        logger.error(f"发送邮件通知失败: {e}")


# 保持向后兼容性，重命名原函数
def push_deer(message):
    """
    向后兼容的函数名，实际调用邮件通知
    """
    send_email_notification(message)
